gchar *title;
+ GtkWidget *box;
GtkWidget *page;
GtkWidget *regular_title;
GtkWidget *current_title;
GtkAssistant *assistant);
static void on_assistant_last (GtkWidget *widget,
GtkAssistant *assistant);
-static void assistant_remove_page_cb (GtkNotebook *notebook,
+static void assistant_remove_page_cb (GtkContainer *container,
GtkWidget *page,
GtkAssistant *assistant);
}
static void
-assistant_remove_page_cb (GtkNotebook *notebook,
+assistant_remove_page_cb (GtkContainer *container,
GtkWidget *page,
GtkAssistant *assistant)
{
GList *page_node;
GList *element;
- if (GTK_IS_BOX (page))
- {
- GList *children;
-
- children = gtk_container_get_children (GTK_CONTAINER (page));
- page = GTK_WIDGET (children->data);
- g_list_free (children);
- }
-
element = find_page (assistant, page);
if (!element)
return;
while (child)
{
GtkAssistantPage *page_info = child->data;
- if (page_info->page == page)
+ if (page_info->page == page || page_info->box == page)
return child;
child = child->next;
gtk_widget_show (box);
gtk_box_pack_start (GTK_BOX (box), page, TRUE, TRUE, 0);
g_object_set (box, "margin", 12, NULL);
+ g_signal_connect (box, "remove", G_CALLBACK (assistant_remove_page_cb), assistant);
gtk_notebook_insert_page (GTK_NOTEBOOK (priv->content), box, NULL, position);
+ page_info->box = box;
+
if (gtk_widget_get_mapped (GTK_WIDGET (assistant)))
{
update_buttons_state (assistant);
{
page_info->has_padding = has_padding;
- g_object_set (gtk_widget_get_parent (page),
+ g_object_set (page_info->box,
"margin", has_padding ? 12 : 0,
NULL);